#ifndef FSM_H
#define FSM_H

#include <map>
using namespace std;

#include "../../definiciones_globales.h"
#include "Estado.h"

class FSM
{
	public:
		FSM();
		~FSM();
		void Iniciar();
		void Parar();
		void DefinirEstadoInicial(const char* nombre_de_estado);
		void AgregarEstado(const char* nombre_de_estado, Estado* estado);
		void CambiarAEstado(const char* nombre_de_estado);
	private:
		map<string,Estado*> estados;
		Estado* estado_inicial;
		Estado* estado_actual;
};

#endif
